package Traductor.Lexico;

public class Token{
	
	public enum TipoToken{tk_natural, tk_real, tk_caracter, tk_palabra, tk_nombreProg, tk_mayor, tk_mayorIgual, tk_despDcha,
		tk_menor, tk_menorIgual, tk_despIzq, tk_asignacion, tk_igual, tk_distinto, tk_distPuntero, tk_mas, tk_menos, tk_mult, tk_div, tk_mod,
		tk_parentesisAbierto, tk_parentesisCerrado, tk_corcheteAbierto, tk_corcheteCerrado, tk_llaveAbierta, tk_llaveCerrada, 
		tk_puntoComa, tk_dosPuntos, tk_punto, tk_puntero, tk_coma, tk_EOF}
	
	//Atributo
	private String lexema;
	private TipoToken tipo;

	//Constructora
	public Token(TipoToken tipo, String lexema){
		this.tipo = tipo;
		this.lexema = lexema;		
	}
	
	//Accesoras
	public String getLexema() {
		return lexema;
	}

	public TipoToken getTipo() {
		return tipo;
	}

	//Metodo
	public String toString() {
		return "Token [lexema=" + lexema + ", tipo=" + tipo + "]";
	}
	
}
